/*******************************************************************************
 * Copyright (c) 2021 Contributors to the Eclipse Foundation
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License 2.0 which is available at
 * https://www.eclipse.org/legal/epl-2.0/.
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Contributors:
 *   See git history
 *******************************************************************************/
/* Generated By:JavaCC: Do not edit this line. PropertyParserTokenManager.java */
package org.eclipse.birt.report.model.css.property;

public class PropertyParserTokenManager implements PropertyParserConstants {
	public java.io.PrintStream debugStream = System.out;

	public void setDebugStream(java.io.PrintStream ds) {
		debugStream = ds;
	}

	private final int jjStopStringLiteralDfa_0(int pos, long active0) {
		switch (pos) {
		case 0:
			if ((active0 & 0x4000000000000L) != 0L) {
				jjmatchedKind = 57;
				return 255;
			}
			if ((active0 & 0x400000000000L) != 0L) {
				jjmatchedKind = 57;
				return 358;
			}
			if ((active0 & 0x800000L) != 0L) {
				return 588;
			}
			if ((active0 & 0x800000000000L) != 0L) {
				jjmatchedKind = 57;
				return 317;
			}
			if ((active0 & 0x4L) != 0L) {
				jjmatchedKind = 28;
				return 420;
			}
			return -1;
		case 1:
			if ((active0 & 0x800000000000L) != 0L) {
				jjmatchedKind = 57;
				jjmatchedPos = 1;
				return 589;
			}
			if ((active0 & 0x400000000000L) != 0L) {
				jjmatchedKind = 57;
				jjmatchedPos = 1;
				return 369;
			}
			if ((active0 & 0x4000000000000L) != 0L) {
				jjmatchedKind = 57;
				jjmatchedPos = 1;
				return 254;
			}
			if ((active0 & 0x4L) != 0L) {
				jjmatchedKind = 57;
				jjmatchedPos = 1;
				return 428;
			}
			return -1;
		case 2:
			if ((active0 & 0xc00000000004L) != 0L) {
				jjmatchedKind = 57;
				jjmatchedPos = 2;
				return 589;
			}
			if ((active0 & 0x4000000000000L) != 0L) {
				jjmatchedKind = 57;
				jjmatchedPos = 2;
				return 253;
			}
			return -1;
		case 3:
			if ((active0 & 0x4000000000000L) != 0L) {
				jjmatchedKind = 57;
				jjmatchedPos = 3;
				return 258;
			}
			if ((active0 & 0x800000000000L) != 0L) {
				return 589;
			}
			if ((active0 & 0x400000000004L) != 0L) {
				jjmatchedKind = 57;
				jjmatchedPos = 3;
				return 589;
			}
			return -1;
		case 4:
			if ((active0 & 0x400000000004L) != 0L) {
				jjmatchedKind = 57;
				jjmatchedPos = 4;
				return 589;
			}
			if ((active0 & 0x4000000000000L) != 0L) {
				jjmatchedKind = 43;
				jjmatchedPos = 4;
				return 257;
			}
			return -1;
		case 5:
			if ((active0 & 0x400000000000L) != 0L) {
				return 589;
			}
			if ((active0 & 0x4L) != 0L) {
				jjmatchedKind = 57;
				jjmatchedPos = 5;
				return 589;
			}
			if ((active0 & 0x4000000000000L) != 0L) {
				jjmatchedKind = 57;
				jjmatchedPos = 5;
				return 273;
			}
			return -1;
		case 6:
			if ((active0 & 0x4000000000000L) != 0L) {
				jjmatchedKind = 57;
				jjmatchedPos = 6;
				return 272;
			}
			if ((active0 & 0x4L) != 0L) {
				return 589;
			}
			return -1;
		case 7:
			if ((active0 & 0x4000000000000L) != 0L) {
				jjmatchedKind = 57;
				jjmatchedPos = 7;
				return 271;
			}
			return -1;
		case 8:
			if ((active0 & 0x4000000000000L) != 0L) {
				jjmatchedKind = 57;
				jjmatchedPos = 8;
				return 270;
			}
			return -1;
		default:
			return -1;
		}
	}

	private final int jjStartNfa_0(int pos, long active0) {
		return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1);
	}

	private final int jjStopAtPos(int pos, int kind) {
		jjmatchedKind = kind;
		jjmatchedPos = pos;
		return pos + 1;
	}

	private final int jjStartNfaWithStates_0(int pos, int kind, int state) {
		jjmatchedKind = kind;
		jjmatchedPos = pos;
		try {
			curChar = input_stream.readChar();
		} catch (java.io.IOException e) {
			return pos + 1;
		}
		return jjMoveNfa_0(state, pos + 1);
	}

	private final int jjMoveStringLiteralDfa0_0() {
		switch (curChar) {
		case 36:
			return jjMoveStringLiteralDfa1_0(0x400L);
		case 40:
			return jjStopAtPos(0, 25);
		case 41:
			return jjStopAtPos(0, 24);
		case 42:
			jjmatchedKind = 22;
			return jjMoveStringLiteralDfa1_0(0x800L);
		case 43:
			return jjStopAtPos(0, 14);
		case 44:
			return jjStopAtPos(0, 16);
		case 45:
			jjmatchedKind = 15;
			return jjMoveStringLiteralDfa1_0(0x10L);
		case 46:
			return jjStartNfaWithStates_0(0, 23, 588);
		case 47:
			return jjStopAtPos(0, 19);
		case 59:
			return jjStopAtPos(0, 17);
		case 60:
			return jjMoveStringLiteralDfa1_0(0x8L);
		case 61:
			return jjStopAtPos(0, 13);
		case 62:
			return jjStopAtPos(0, 18);
		case 91:
			return jjStopAtPos(0, 20);
		case 93:
			return jjStopAtPos(0, 21);
		case 94:
			return jjMoveStringLiteralDfa1_0(0x200L);
		case 65:
		case 97:
			return jjMoveStringLiteralDfa1_0(0x800000000000L);
		case 73:
		case 105:
			return jjMoveStringLiteralDfa1_0(0x4L);
		case 78:
		case 110:
			return jjMoveStringLiteralDfa1_0(0x400000000000L);
		case 83:
		case 115:
			return jjMoveStringLiteralDfa1_0(0x4000000000000L);
		case 123:
			return jjStopAtPos(0, 5);
		case 124:
			return jjMoveStringLiteralDfa1_0(0x80L);
		case 125:
			return jjStopAtPos(0, 6);
		case 126:
			jjmatchedKind = 12;
			return jjMoveStringLiteralDfa1_0(0x100L);
		default:
			return jjMoveNfa_0(1, 0);
		}
	}

	private final int jjMoveStringLiteralDfa1_0(long active0) {
		try {
			curChar = input_stream.readChar();
		} catch (java.io.IOException e) {
			jjStopStringLiteralDfa_0(0, active0);
			return 1;
		}
		switch (curChar) {
		case 33:
			return jjMoveStringLiteralDfa2_0(active0, 0x8L);
		case 45:
			return jjMoveStringLiteralDfa2_0(active0, 0x10L);
		case 61:
			if ((active0 & 0x80L) != 0L) {
				return jjStopAtPos(1, 7);
			} else if ((active0 & 0x100L) != 0L) {
				return jjStopAtPos(1, 8);
			} else if ((active0 & 0x200L) != 0L) {
				return jjStopAtPos(1, 9);
			} else if ((active0 & 0x400L) != 0L) {
				return jjStopAtPos(1, 10);
			} else if ((active0 & 0x800L) != 0L) {
				return jjStopAtPos(1, 11);
			}
			break;
		case 77:
		case 109:
			return jjMoveStringLiteralDfa2_0(active0, 0x4000000000000L);
		case 78:
		case 110:
			return jjMoveStringLiteralDfa2_0(active0, 0x4L);
		case 79:
		case 111:
			return jjMoveStringLiteralDfa2_0(active0, 0x400000000000L);
		case 85:
		case 117:
			return jjMoveStringLiteralDfa2_0(active0, 0x800000000000L);
		default:
			break;
		}
		return jjStartNfa_0(0, active0);
	}

	private final int jjMoveStringLiteralDfa2_0(long old0, long active0) {
		active0 &= old0;
		if (active0 == 0L) {
			return jjStartNfa_0(0, old0);
		}
		try {
			curChar = input_stream.readChar();
		} catch (java.io.IOException e) {
			jjStopStringLiteralDfa_0(1, active0);
			return 2;
		}
		switch (curChar) {
		case 45:
			return jjMoveStringLiteralDfa3_0(active0, 0x8L);
		case 62:
			if ((active0 & 0x10L) != 0L) {
				return jjStopAtPos(2, 4);
			}
			break;
		case 65:
		case 97:
			return jjMoveStringLiteralDfa3_0(active0, 0x4000000000000L);
		case 72:
		case 104:
			return jjMoveStringLiteralDfa3_0(active0, 0x4L);
		case 82:
		case 114:
			return jjMoveStringLiteralDfa3_0(active0, 0x400000000000L);
		case 84:
		case 116:
			return jjMoveStringLiteralDfa3_0(active0, 0x800000000000L);
		default:
			break;
		}
		return jjStartNfa_0(1, active0);
	}

	private final int jjMoveStringLiteralDfa3_0(long old0, long active0) {
		active0 &= old0;
		if (active0 == 0L) {
			return jjStartNfa_0(1, old0);
		}
		try {
			curChar = input_stream.readChar();
		} catch (java.io.IOException e) {
			jjStopStringLiteralDfa_0(2, active0);
			return 3;
		}
		switch (curChar) {
		case 45:
			if ((active0 & 0x8L) != 0L) {
				return jjStopAtPos(3, 3);
			}
			break;
		case 69:
		case 101:
			return jjMoveStringLiteralDfa4_0(active0, 0x4L);
		case 76:
		case 108:
			return jjMoveStringLiteralDfa4_0(active0, 0x4000000000000L);
		case 77:
		case 109:
			return jjMoveStringLiteralDfa4_0(active0, 0x400000000000L);
		case 79:
		case 111:
			if ((active0 & 0x800000000000L) != 0L) {
				return jjStartNfaWithStates_0(3, 47, 589);
			}
			break;
		default:
			break;
		}
		return jjStartNfa_0(2, active0);
	}

	private final int jjMoveStringLiteralDfa4_0(long old0, long active0) {
		active0 &= old0;
		if (active0 == 0L) {
			return jjStartNfa_0(2, old0);
		}
		try {
			curChar = input_stream.readChar();
		} catch (java.io.IOException e) {
			jjStopStringLiteralDfa_0(3, active0);
			return 4;
		}
		switch (curChar) {
		case 65:
		case 97:
			return jjMoveStringLiteralDfa5_0(active0, 0x400000000000L);
		case 76:
		case 108:
			return jjMoveStringLiteralDfa5_0(active0, 0x4000000000000L);
		case 82:
		case 114:
			return jjMoveStringLiteralDfa5_0(active0, 0x4L);
		default:
			break;
		}
		return jjStartNfa_0(3, active0);
	}

	private final int jjMoveStringLiteralDfa5_0(long old0, long active0) {
		active0 &= old0;
		if (active0 == 0L) {
			return jjStartNfa_0(3, old0);
		}
		try {
			curChar = input_stream.readChar();
		} catch (java.io.IOException e) {
			jjStopStringLiteralDfa_0(4, active0);
			return 5;
		}
		switch (curChar) {
		case 45:
			return jjMoveStringLiteralDfa6_0(active0, 0x4000000000000L);
		case 73:
		case 105:
			return jjMoveStringLiteralDfa6_0(active0, 0x4L);
		case 76:
		case 108:
			if ((active0 & 0x400000000000L) != 0L) {
				return jjStartNfaWithStates_0(5, 46, 589);
			}
			break;
		default:
			break;
		}
		return jjStartNfa_0(4, active0);
	}

	private final int jjMoveStringLiteralDfa6_0(long old0, long active0) {
		active0 &= old0;
		if (active0 == 0L) {
			return jjStartNfa_0(4, old0);
		}
		try {
			curChar = input_stream.readChar();
		} catch (java.io.IOException e) {
			jjStopStringLiteralDfa_0(5, active0);
			return 6;
		}
		switch (curChar) {
		case 67:
		case 99:
			return jjMoveStringLiteralDfa7_0(active0, 0x4000000000000L);
		case 84:
		case 116:
			if ((active0 & 0x4L) != 0L) {
				return jjStartNfaWithStates_0(6, 2, 589);
			}
			break;
		default:
			break;
		}
		return jjStartNfa_0(5, active0);
	}

	private final int jjMoveStringLiteralDfa7_0(long old0, long active0) {
		active0 &= old0;
		if (active0 == 0L) {
			return jjStartNfa_0(5, old0);
		}
		try {
			curChar = input_stream.readChar();
		} catch (java.io.IOException e) {
			jjStopStringLiteralDfa_0(6, active0);
			return 7;
		}
		switch (curChar) {
		case 65:
		case 97:
			return jjMoveStringLiteralDfa8_0(active0, 0x4000000000000L);
		default:
			break;
		}
		return jjStartNfa_0(6, active0);
	}

	private final int jjMoveStringLiteralDfa8_0(long old0, long active0) {
		active0 &= old0;
		if (active0 == 0L) {
			return jjStartNfa_0(6, old0);
		}
		try {
			curChar = input_stream.readChar();
		} catch (java.io.IOException e) {
			jjStopStringLiteralDfa_0(7, active0);
			return 8;
		}
		switch (curChar) {
		case 80:
		case 112:
			return jjMoveStringLiteralDfa9_0(active0, 0x4000000000000L);
		default:
			break;
		}
		return jjStartNfa_0(7, active0);
	}

	private final int jjMoveStringLiteralDfa9_0(long old0, long active0) {
		active0 &= old0;
		if (active0 == 0L) {
			return jjStartNfa_0(7, old0);
		}
		try {
			curChar = input_stream.readChar();
		} catch (java.io.IOException e) {
			jjStopStringLiteralDfa_0(8, active0);
			return 9;
		}
		switch (curChar) {
		case 83:
		case 115:
			if ((active0 & 0x4000000000000L) != 0L) {
				return jjStartNfaWithStates_0(9, 50, 589);
			}
			break;
		default:
			break;
		}
		return jjStartNfa_0(8, active0);
	}

	private final void jjCheckNAdd(int state) {
		if (jjrounds[state] != jjround) {
			jjstateSet[jjnewStateCnt++] = state;
			jjrounds[state] = jjround;
		}
	}

	private final void jjAddStates(int start, int end) {
		do {
			jjstateSet[jjnewStateCnt++] = jjnextStates[start];
		} while (start++ != end);
	}

	private final void jjCheckNAddTwoStates(int state1, int state2) {
		jjCheckNAdd(state1);
		jjCheckNAdd(state2);
	}

	private final void jjCheckNAddStates(int start, int end) {
		do {
			jjCheckNAdd(jjnextStates[start]);
		} while (start++ != end);
	}

	static final long[] jjbitVec0 = { 0xfffffffffffffffeL, 0xffffffffffffffffL, 0xffffffffffffffffL,
			0xffffffffffffffffL };
	static final long[] jjbitVec2 = { 0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL };

	private final int jjMoveNfa_0(int startState, int curPos) {
		int[] nextStates;
		int startsAt = 0;
		jjnewStateCnt = 588;
		int i = 1;
		jjstateSet[0] = startState;
		int j, kind = 0x7fffffff;
		for (;;) {
			if (++jjround == 0x7fffffff) {
				ReInitRounds();
			}
			if (curChar < 64) {
				long l = 1L << curChar;
				MatchLoop: do {
					switch (jjstateSet[--i]) {
					case 272:
						if ((0x3ff200000000000L & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 40) {
							if (kind > 70) {
								kind = 70;
							}
						}
						if ((0x3ff200000000000L & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						break;
					case 258:
						if ((0x3ff200000000000L & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 40) {
							if (kind > 70) {
								kind = 70;
							}
						}
						if ((0x3ff200000000000L & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						break;
					case 253:
						if ((0x3ff200000000000L & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 40) {
							if (kind > 70) {
								kind = 70;
							}
						}
						if ((0x3ff200000000000L & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						break;
					case 420:
						if ((0x3ff200000000000L & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 40) {
							if (kind > 70) {
								kind = 70;
							}
						}
						if ((0x3ff200000000000L & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						break;
					case 270:
						if ((0x3ff200000000000L & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 40) {
							if (kind > 70) {
								kind = 70;
							}
						}
						if ((0x3ff200000000000L & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						break;
					case 589:
						if ((0x3ff200000000000L & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 40) {
							if (kind > 70) {
								kind = 70;
							}
						}
						if ((0x3ff200000000000L & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						break;
					case 317:
						if ((0x3ff200000000000L & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 40) {
							if (kind > 70) {
								kind = 70;
							}
						}
						if ((0x3ff200000000000L & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						break;
					case 257:
						if ((0x3ff200000000000L & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 40) {
							if (kind > 70) {
								kind = 70;
							}
						}
						if ((0x3ff200000000000L & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						if (curChar == 45) {
							jjstateSet[jjnewStateCnt++] = 273;
						}
						break;
					case 428:
						if ((0x3ff200000000000L & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 40) {
							if (kind > 70) {
								kind = 70;
							}
						}
						if ((0x3ff200000000000L & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						break;
					case 588:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(3, 5);
						}
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(139, 140);
						}
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(137, 138);
						}
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(134, 136);
						}
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(131, 133);
						}
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(128, 130);
						}
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(125, 127);
						}
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(123, 124);
						}
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(120, 122);
						}
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(117, 119);
						}
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(115, 116);
						}
						if ((0x3ff000000000000L & l) != 0L) {
							if (kind > 38) {
								kind = 38;
							}
							jjCheckNAdd(114);
						}
						break;
					case 1:
						if ((0x3ff000000000000L & l) != 0L) {
							if (kind > 38) {
								kind = 38;
							}
							jjCheckNAddStates(6, 53);
						} else if ((0x100003600L & l) != 0L) {
							if (kind > 1) {
								kind = 1;
							}
							jjCheckNAdd(0);
						} else if (curChar == 35) {
							jjCheckNAddStates(54, 57);
						} else if (curChar == 46) {
							jjCheckNAddStates(58, 69);
						} else if (curChar == 39) {
							jjCheckNAddStates(70, 73);
						} else if (curChar == 34) {
							jjCheckNAddStates(74, 77);
						}
						if (curChar == 57) {
							jjstateSet[jjnewStateCnt++] = 65;
						} else if (curChar == 56) {
							jjstateSet[jjnewStateCnt++] = 63;
						} else if (curChar == 55) {
							jjstateSet[jjnewStateCnt++] = 61;
						} else if (curChar == 54) {
							jjstateSet[jjnewStateCnt++] = 59;
						} else if (curChar == 53) {
							jjstateSet[jjnewStateCnt++] = 57;
						} else if (curChar == 52) {
							jjstateSet[jjnewStateCnt++] = 55;
						} else if (curChar == 51) {
							jjstateSet[jjnewStateCnt++] = 53;
						} else if (curChar == 50) {
							jjstateSet[jjnewStateCnt++] = 51;
						} else if (curChar == 49) {
							jjstateSet[jjnewStateCnt++] = 49;
						}
						break;
					case 273:
						if ((0x3ff200000000000L & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 40) {
							if (kind > 70) {
								kind = 70;
							}
						}
						if ((0x3ff200000000000L & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						break;
					case 271:
						if ((0x3ff200000000000L & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 40) {
							if (kind > 70) {
								kind = 70;
							}
						}
						if ((0x3ff200000000000L & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						break;
					case 254:
						if ((0x3ff200000000000L & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 40) {
							if (kind > 70) {
								kind = 70;
							}
						}
						if ((0x3ff200000000000L & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						break;
					case 358:
						if ((0x3ff200000000000L & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 40) {
							if (kind > 70) {
								kind = 70;
							}
						}
						if ((0x3ff200000000000L & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						break;
					case 255:
						if ((0x3ff200000000000L & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 40) {
							if (kind > 70) {
								kind = 70;
							}
						}
						if ((0x3ff200000000000L & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						break;
					case 369:
						if ((0x3ff200000000000L & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 40) {
							if (kind > 70) {
								kind = 70;
							}
						}
						if ((0x3ff200000000000L & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						if (curChar == 45) {
							jjstateSet[jjnewStateCnt++] = 368;
						}
						break;
					case 0:
						if ((0x100003600L & l) == 0L) {
							break;
						}
						if (kind > 1) {
							kind = 1;
						}
						jjCheckNAdd(0);
						break;
					case 2:
						if (curChar == 34) {
							jjCheckNAddStates(74, 77);
						}
						break;
					case 3:
						if ((0xfffffffb00000200L & l) != 0L) {
							jjCheckNAddStates(74, 77);
						}
						break;
					case 4:
						if (curChar == 34 && kind > 37) {
							kind = 37;
						}
						break;
					case 6:
						if (curChar == 10) {
							jjCheckNAddStates(74, 77);
						}
						break;
					case 8:
						if ((0xffffffff00000000L & l) != 0L) {
							jjCheckNAddStates(74, 77);
						}
						break;
					case 9:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(78, 83);
						}
						break;
					case 10:
						if ((0x100003600L & l) != 0L) {
							jjCheckNAddStates(74, 77);
						}
						break;
					case 11:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(84, 92);
						}
						break;
					case 12:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(93, 97);
						}
						break;
					case 13:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(98, 103);
						}
						break;
					case 14:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(104, 110);
						}
						break;
					case 15:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(111, 118);
						}
						break;
					case 16:
						if (curChar == 13) {
							jjstateSet[jjnewStateCnt++] = 6;
						}
						break;
					case 17:
						if (curChar == 39) {
							jjCheckNAddStates(70, 73);
						}
						break;
					case 18:
						if ((0xffffff7f00000200L & l) != 0L) {
							jjCheckNAddStates(70, 73);
						}
						break;
					case 19:
						if (curChar == 39 && kind > 37) {
							kind = 37;
						}
						break;
					case 21:
						if (curChar == 10) {
							jjCheckNAddStates(70, 73);
						}
						break;
					case 23:
						if ((0xffffffff00000000L & l) != 0L) {
							jjCheckNAddStates(70, 73);
						}
						break;
					case 24:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(119, 124);
						}
						break;
					case 25:
						if ((0x100003600L & l) != 0L) {
							jjCheckNAddStates(70, 73);
						}
						break;
					case 26:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(125, 133);
						}
						break;
					case 27:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(134, 138);
						}
						break;
					case 28:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(139, 144);
						}
						break;
					case 29:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(145, 151);
						}
						break;
					case 30:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(152, 159);
						}
						break;
					case 31:
						if (curChar == 13) {
							jjstateSet[jjnewStateCnt++] = 21;
						}
						break;
					case 48:
						if (curChar == 48 && kind > 51) {
							kind = 51;
						}
						break;
					case 49:
					case 51:
					case 53:
					case 55:
					case 57:
					case 59:
					case 61:
					case 63:
					case 65:
						if (curChar == 48) {
							jjCheckNAdd(48);
						}
						break;
					case 50:
						if (curChar == 49) {
							jjstateSet[jjnewStateCnt++] = 49;
						}
						break;
					case 52:
						if (curChar == 50) {
							jjstateSet[jjnewStateCnt++] = 51;
						}
						break;
					case 54:
						if (curChar == 51) {
							jjstateSet[jjnewStateCnt++] = 53;
						}
						break;
					case 56:
						if (curChar == 52) {
							jjstateSet[jjnewStateCnt++] = 55;
						}
						break;
					case 58:
						if (curChar == 53) {
							jjstateSet[jjnewStateCnt++] = 57;
						}
						break;
					case 60:
						if (curChar == 54) {
							jjstateSet[jjnewStateCnt++] = 59;
						}
						break;
					case 62:
						if (curChar == 55) {
							jjstateSet[jjnewStateCnt++] = 61;
						}
						break;
					case 64:
						if (curChar == 56) {
							jjstateSet[jjnewStateCnt++] = 63;
						}
						break;
					case 66:
						if (curChar == 57) {
							jjstateSet[jjnewStateCnt++] = 65;
						}
						break;
					case 94:
						if (curChar == 45) {
							jjstateSet[jjnewStateCnt++] = 93;
						}
						break;
					case 100:
						if (curChar == 45) {
							jjstateSet[jjnewStateCnt++] = 99;
						}
						break;
					case 106:
						if (curChar == 45) {
							jjstateSet[jjnewStateCnt++] = 105;
						}
						break;
					case 111:
						if (curChar == 45) {
							jjstateSet[jjnewStateCnt++] = 110;
						}
						break;
					case 113:
						if (curChar == 46) {
							jjCheckNAddStates(58, 69);
						}
						break;
					case 114:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 38) {
							kind = 38;
						}
						jjCheckNAdd(114);
						break;
					case 115:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(115, 116);
						}
						break;
					case 116:
						if (curChar == 37 && kind > 41) {
							kind = 41;
						}
						break;
					case 117:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(117, 119);
						}
						break;
					case 120:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(120, 122);
						}
						break;
					case 123:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(123, 124);
						}
						break;
					case 125:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(125, 127);
						}
						break;
					case 128:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(128, 130);
						}
						break;
					case 131:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(131, 133);
						}
						break;
					case 134:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(134, 136);
						}
						break;
					case 137:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(137, 138);
						}
						break;
					case 139:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(139, 140);
						}
						break;
					case 141:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(3, 5);
						}
						break;
					case 143:
						if ((0x3ff200000000000L & l) == 0L) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddTwoStates(143, 144);
						break;
					case 145:
						if ((0xffffffff00000000L & l) == 0L) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddTwoStates(143, 144);
						break;
					case 146:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddStates(160, 163);
						break;
					case 147:
						if ((0x100003600L & l) == 0L) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddTwoStates(143, 144);
						break;
					case 148:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddStates(164, 170);
						break;
					case 149:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddStates(171, 173);
						break;
					case 150:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddStates(174, 177);
						break;
					case 151:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddStates(178, 182);
						break;
					case 152:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddStates(183, 188);
						break;
					case 154:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddStates(189, 192);
						break;
					case 155:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddStates(193, 199);
						break;
					case 156:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddStates(200, 202);
						break;
					case 157:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddStates(203, 206);
						break;
					case 158:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddStates(207, 211);
						break;
					case 159:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddStates(212, 217);
						break;
					case 161:
						if (curChar == 40) {
							jjCheckNAddStates(218, 223);
						}
						break;
					case 162:
						if ((0xfffffc7a00000000L & l) != 0L) {
							jjCheckNAddStates(224, 227);
						}
						break;
					case 163:
						if ((0x100003600L & l) != 0L) {
							jjCheckNAddTwoStates(163, 164);
						}
						break;
					case 164:
						if (curChar == 41 && kind > 40) {
							kind = 40;
						}
						break;
					case 166:
						if ((0xffffffff00000000L & l) != 0L) {
							jjCheckNAddStates(224, 227);
						}
						break;
					case 167:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(228, 232);
						}
						break;
					case 168:
						if ((0x100003600L & l) != 0L) {
							jjCheckNAddStates(224, 227);
						}
						break;
					case 169:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(233, 240);
						}
						break;
					case 170:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(241, 244);
						}
						break;
					case 171:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(245, 249);
						}
						break;
					case 172:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(250, 255);
						}
						break;
					case 173:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(256, 262);
						}
						break;
					case 174:
						if (curChar == 39) {
							jjCheckNAddStates(263, 266);
						}
						break;
					case 175:
						if ((0xffffff7f00000200L & l) != 0L) {
							jjCheckNAddStates(263, 266);
						}
						break;
					case 176:
						if (curChar == 39) {
							jjCheckNAddTwoStates(163, 164);
						}
						break;
					case 178:
						if (curChar == 10) {
							jjCheckNAddStates(263, 266);
						}
						break;
					case 180:
						if ((0xffffffff00000000L & l) != 0L) {
							jjCheckNAddStates(263, 266);
						}
						break;
					case 181:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(267, 272);
						}
						break;
					case 182:
						if ((0x100003600L & l) != 0L) {
							jjCheckNAddStates(263, 266);
						}
						break;
					case 183:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(273, 281);
						}
						break;
					case 184:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(282, 286);
						}
						break;
					case 185:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(287, 292);
						}
						break;
					case 186:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(293, 299);
						}
						break;
					case 187:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(300, 307);
						}
						break;
					case 188:
						if (curChar == 13) {
							jjstateSet[jjnewStateCnt++] = 178;
						}
						break;
					case 189:
						if (curChar == 34) {
							jjCheckNAddStates(308, 311);
						}
						break;
					case 190:
						if ((0xfffffffb00000200L & l) != 0L) {
							jjCheckNAddStates(308, 311);
						}
						break;
					case 191:
						if (curChar == 34) {
							jjCheckNAddTwoStates(163, 164);
						}
						break;
					case 193:
						if (curChar == 10) {
							jjCheckNAddStates(308, 311);
						}
						break;
					case 195:
						if ((0xffffffff00000000L & l) != 0L) {
							jjCheckNAddStates(308, 311);
						}
						break;
					case 196:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(312, 317);
						}
						break;
					case 197:
						if ((0x100003600L & l) != 0L) {
							jjCheckNAddStates(308, 311);
						}
						break;
					case 198:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(318, 326);
						}
						break;
					case 199:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(327, 331);
						}
						break;
					case 200:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(332, 337);
						}
						break;
					case 201:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(338, 344);
						}
						break;
					case 202:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(345, 352);
						}
						break;
					case 203:
						if (curChar == 13) {
							jjstateSet[jjnewStateCnt++] = 193;
						}
						break;
					case 204:
						if ((0x100003600L & l) != 0L) {
							jjCheckNAddStates(353, 359);
						}
						break;
					case 207:
						if (curChar == 43) {
							jjAddStates(360, 361);
						}
						break;
					case 208:
						if (curChar != 63) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjstateSet[jjnewStateCnt++] = 209;
						break;
					case 209:
						if (curChar != 63) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjCheckNAddStates(362, 365);
						break;
					case 210:
						if (curChar == 63 && kind > 69) {
							kind = 69;
						}
						break;
					case 211:
					case 226:
					case 230:
					case 233:
					case 236:
						if (curChar != 63) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjCheckNAdd(210);
						break;
					case 212:
						if (curChar != 63) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjCheckNAddTwoStates(210, 211);
						break;
					case 213:
						if (curChar != 63) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjCheckNAddStates(366, 368);
						break;
					case 214:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjAddStates(369, 374);
						break;
					case 215:
						if ((0x3ff000000000000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 216;
						}
						break;
					case 216:
						if ((0x3ff000000000000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 217;
						}
						break;
					case 217:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAdd(218);
						}
						break;
					case 218:
						if ((0x3ff000000000000L & l) != 0L && kind > 69) {
							kind = 69;
						}
						break;
					case 219:
						if ((0x3ff000000000000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 220;
						}
						break;
					case 220:
						if ((0x3ff000000000000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 221;
						}
						break;
					case 221:
						if ((0x3ff000000000000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 222;
						}
						break;
					case 222:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjCheckNAdd(210);
						break;
					case 223:
						if ((0x3ff000000000000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 224;
						}
						break;
					case 224:
						if ((0x3ff000000000000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 225;
						}
						break;
					case 225:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjstateSet[jjnewStateCnt++] = 226;
						break;
					case 227:
						if ((0x3ff000000000000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 228;
						}
						break;
					case 228:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjstateSet[jjnewStateCnt++] = 229;
						break;
					case 229:
						if (curChar != 63) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjCheckNAddTwoStates(210, 230);
						break;
					case 231:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjstateSet[jjnewStateCnt++] = 232;
						break;
					case 232:
						if (curChar != 63) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjCheckNAddStates(375, 377);
						break;
					case 234:
						if (curChar != 63) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjCheckNAddTwoStates(210, 233);
						break;
					case 235:
						if (curChar != 63) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjCheckNAddStates(378, 381);
						break;
					case 237:
						if (curChar != 63) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjCheckNAddTwoStates(210, 236);
						break;
					case 238:
						if (curChar != 63) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjCheckNAddStates(382, 384);
						break;
					case 239:
						if (curChar == 43) {
							jjstateSet[jjnewStateCnt++] = 240;
						}
						break;
					case 240:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(241, 247);
						}
						break;
					case 241:
						if (curChar == 45) {
							jjstateSet[jjnewStateCnt++] = 242;
						}
						break;
					case 242:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjstateSet[jjnewStateCnt++] = 243;
						break;
					case 243:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjCheckNAddStates(385, 388);
						break;
					case 244:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjCheckNAdd(218);
						break;
					case 245:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjCheckNAddTwoStates(218, 244);
						break;
					case 246:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjCheckNAddStates(389, 391);
						break;
					case 247:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(392, 396);
						}
						break;
					case 248:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAdd(241);
						}
						break;
					case 249:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(248, 241);
						}
						break;
					case 250:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(397, 399);
						}
						break;
					case 251:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(400, 403);
						}
						break;
					case 274:
						if (curChar == 45) {
							jjstateSet[jjnewStateCnt++] = 273;
						}
						break;
					case 282:
						if (curChar == 45) {
							jjstateSet[jjnewStateCnt++] = 281;
						}
						break;
					case 344:
						if (curChar == 45) {
							jjstateSet[jjnewStateCnt++] = 343;
						}
						break;
					case 386:
						if (curChar == 35) {
							jjCheckNAddStates(54, 57);
						}
						break;
					case 387:
						if ((0x3ff200000000000L & l) == 0L) {
							break;
						}
						if (kind > 45) {
							kind = 45;
						}
						jjCheckNAddTwoStates(387, 388);
						break;
					case 389:
						if ((0xffffffff00000000L & l) == 0L) {
							break;
						}
						if (kind > 45) {
							kind = 45;
						}
						jjCheckNAddTwoStates(387, 388);
						break;
					case 390:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 45) {
							kind = 45;
						}
						jjCheckNAddStates(404, 407);
						break;
					case 391:
						if ((0x100003600L & l) == 0L) {
							break;
						}
						if (kind > 45) {
							kind = 45;
						}
						jjCheckNAddTwoStates(387, 388);
						break;
					case 392:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 45) {
							kind = 45;
						}
						jjCheckNAddStates(408, 414);
						break;
					case 393:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 45) {
							kind = 45;
						}
						jjCheckNAddStates(415, 417);
						break;
					case 394:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 45) {
							kind = 45;
						}
						jjCheckNAddStates(418, 421);
						break;
					case 395:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 45) {
							kind = 45;
						}
						jjCheckNAddStates(422, 426);
						break;
					case 396:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 45) {
							kind = 45;
						}
						jjCheckNAddStates(427, 432);
						break;
					case 397:
						if ((0x3ff200000000000L & l) == 0L) {
							break;
						}
						if (kind > 59) {
							kind = 59;
						}
						jjCheckNAddTwoStates(397, 398);
						break;
					case 399:
						if ((0xffffffff00000000L & l) == 0L) {
							break;
						}
						if (kind > 59) {
							kind = 59;
						}
						jjCheckNAddTwoStates(397, 398);
						break;
					case 400:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 59) {
							kind = 59;
						}
						jjCheckNAddStates(433, 436);
						break;
					case 401:
						if ((0x100003600L & l) == 0L) {
							break;
						}
						if (kind > 59) {
							kind = 59;
						}
						jjCheckNAddTwoStates(397, 398);
						break;
					case 402:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 59) {
							kind = 59;
						}
						jjCheckNAddStates(437, 443);
						break;
					case 403:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 59) {
							kind = 59;
						}
						jjCheckNAddStates(444, 446);
						break;
					case 404:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 59) {
							kind = 59;
						}
						jjCheckNAddStates(447, 450);
						break;
					case 405:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 59) {
							kind = 59;
						}
						jjCheckNAddStates(451, 455);
						break;
					case 406:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 59) {
							kind = 59;
						}
						jjCheckNAddStates(456, 461);
						break;
					case 476:
						if ((0x100003600L & l) != 0L) {
							jjAddStates(462, 463);
						}
						break;
					case 477:
						if (curChar == 40) {
							jjCheckNAddStates(464, 466);
						}
						break;
					case 478:
						if ((0xfffffdffffffffffL & l) != 0L) {
							jjCheckNAddStates(464, 466);
						}
						break;
					case 479:
						if ((0x100003600L & l) != 0L) {
							jjCheckNAddTwoStates(479, 480);
						}
						break;
					case 480:
						if (curChar == 41 && kind > 45) {
							kind = 45;
						}
						break;
					case 487:
						if (curChar == 45) {
							jjstateSet[jjnewStateCnt++] = 486;
						}
						break;
					case 494:
						if (curChar == 45) {
							jjstateSet[jjnewStateCnt++] = 493;
						}
						break;
					case 517:
						if ((0x3ff200000000000L & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddTwoStates(517, 518);
						break;
					case 519:
						if ((0xffffffff00000000L & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddTwoStates(517, 518);
						break;
					case 520:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddStates(467, 470);
						break;
					case 521:
						if ((0x100003600L & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddTwoStates(517, 518);
						break;
					case 522:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddStates(471, 477);
						break;
					case 523:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddStates(478, 480);
						break;
					case 524:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddStates(481, 484);
						break;
					case 525:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddStates(485, 489);
						break;
					case 526:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddStates(490, 495);
						break;
					case 527:
						if ((0x3ff200000000000L & l) != 0L) {
							jjCheckNAddStates(0, 2);
						}
						break;
					case 528:
						if (curChar == 40 && kind > 70) {
							kind = 70;
						}
						break;
					case 530:
						if ((0xffffffff00000000L & l) != 0L) {
							jjCheckNAddStates(0, 2);
						}
						break;
					case 531:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(496, 500);
						}
						break;
					case 532:
						if ((0x100003600L & l) != 0L) {
							jjCheckNAddStates(0, 2);
						}
						break;
					case 533:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(501, 508);
						}
						break;
					case 534:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(509, 512);
						}
						break;
					case 535:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(513, 517);
						}
						break;
					case 536:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(518, 523);
						}
						break;
					case 537:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(524, 530);
						}
						break;
					case 539:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddStates(531, 534);
						break;
					case 540:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddStates(535, 541);
						break;
					case 541:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddStates(542, 544);
						break;
					case 542:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddStates(545, 548);
						break;
					case 543:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddStates(549, 553);
						break;
					case 544:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddStates(554, 559);
						break;
					case 545:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(560, 564);
						}
						break;
					case 546:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(565, 572);
						}
						break;
					case 547:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(573, 576);
						}
						break;
					case 548:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(577, 581);
						}
						break;
					case 549:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(582, 587);
						}
						break;
					case 550:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(588, 594);
						}
						break;
					case 551:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 38) {
							kind = 38;
						}
						jjCheckNAddStates(6, 53);
						break;
					case 552:
						if ((0x3ff000000000000L & l) == 0L) {
							break;
						}
						if (kind > 38) {
							kind = 38;
						}
						jjCheckNAdd(552);
						break;
					case 553:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(553, 554);
						}
						break;
					case 554:
						if (curChar == 46) {
							jjCheckNAdd(114);
						}
						break;
					case 555:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(555, 116);
						}
						break;
					case 556:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(556, 557);
						}
						break;
					case 557:
						if (curChar == 46) {
							jjCheckNAdd(115);
						}
						break;
					case 558:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(558, 119);
						}
						break;
					case 559:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(559, 560);
						}
						break;
					case 560:
						if (curChar == 46) {
							jjCheckNAdd(117);
						}
						break;
					case 561:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(561, 122);
						}
						break;
					case 562:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(562, 563);
						}
						break;
					case 563:
						if (curChar == 46) {
							jjCheckNAdd(120);
						}
						break;
					case 564:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(564, 124);
						}
						break;
					case 565:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(565, 566);
						}
						break;
					case 566:
						if (curChar == 46) {
							jjCheckNAdd(123);
						}
						break;
					case 567:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(567, 127);
						}
						break;
					case 568:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(568, 569);
						}
						break;
					case 569:
						if (curChar == 46) {
							jjCheckNAdd(125);
						}
						break;
					case 570:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(570, 130);
						}
						break;
					case 571:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(571, 572);
						}
						break;
					case 572:
						if (curChar == 46) {
							jjCheckNAdd(128);
						}
						break;
					case 573:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(573, 133);
						}
						break;
					case 574:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(574, 575);
						}
						break;
					case 575:
						if (curChar == 46) {
							jjCheckNAdd(131);
						}
						break;
					case 576:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(576, 136);
						}
						break;
					case 577:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(577, 578);
						}
						break;
					case 578:
						if (curChar == 46) {
							jjCheckNAdd(134);
						}
						break;
					case 579:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(579, 138);
						}
						break;
					case 580:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(580, 581);
						}
						break;
					case 581:
						if (curChar == 46) {
							jjCheckNAdd(137);
						}
						break;
					case 582:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(582, 140);
						}
						break;
					case 583:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(583, 584);
						}
						break;
					case 584:
						if (curChar == 46) {
							jjCheckNAdd(139);
						}
						break;
					case 585:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddStates(595, 597);
						}
						break;
					case 586:
						if ((0x3ff000000000000L & l) != 0L) {
							jjCheckNAddTwoStates(586, 587);
						}
						break;
					case 587:
						if (curChar == 46) {
							jjCheckNAdd(141);
						}
						break;
					default:
						break;
					}
				} while (i != startsAt);
			} else if (curChar < 128) {
				long l = 1L << (curChar & 077);
				MatchLoop: do {
					switch (jjstateSet[--i]) {
					case 272:
						if ((0x7fffffe87fffffeL & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(519, 520);
						}
						if ((0x7fffffe87fffffeL & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(530, 531);
						}
						if ((0x200000002L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 271;
						}
						break;
					case 258:
						if ((0x7fffffe87fffffeL & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(519, 520);
						}
						if ((0x7fffffe87fffffeL & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(530, 531);
						}
						if ((0x100000001000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 274;
						}
						if ((0x100000001000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 257;
						}
						if ((0x100000001000L & l) != 0L) {
							if (kind > 43) {
								kind = 43;
							}
						}
						break;
					case 253:
						if ((0x7fffffe87fffffeL & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(519, 520);
						}
						if ((0x7fffffe87fffffeL & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(530, 531);
						}
						if ((0x100000001000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 275;
						}
						if ((0x100000001000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 258;
						}
						if ((0x100000001000L & l) != 0L) {
							jjCheckNAdd(89);
						}
						break;
					case 420:
						if ((0x7fffffe87fffffeL & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(519, 520);
						}
						if ((0x7fffffe87fffffeL & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(530, 531);
						}
						if ((0x400000004000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 428;
						} else if ((0x10000000100000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 424;
						} else if ((0x800000008L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 419;
						}
						break;
					case 270:
						if ((0x7fffffe87fffffeL & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(519, 520);
						}
						if ((0x7fffffe87fffffeL & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(530, 531);
						}
						if ((0x10000000100000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 269;
						}
						break;
					case 589:
						if ((0x7fffffe87fffffeL & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(519, 520);
						}
						if ((0x7fffffe87fffffeL & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(530, 531);
						}
						break;
					case 317:
						if ((0x7fffffe87fffffeL & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(519, 520);
						}
						if ((0x7fffffe87fffffeL & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(530, 531);
						}
						if ((0x2000000020000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 320;
						} else if ((0x400000004000L & l) != 0L) {
							jjCheckNAdd(316);
						}
						if ((0x400000004000L & l) != 0L) {
							jjCheckNAdd(316);
						}
						break;
					case 257:
						if ((0x7fffffe87fffffeL & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(519, 520);
						}
						if ((0x7fffffe87fffffeL & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(530, 531);
						}
						if ((0x2000000020L & l) != 0L) {
							jjCheckNAdd(256);
						}
						break;
					case 428:
						if ((0x7fffffe87fffffeL & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(519, 520);
						}
						if ((0x7fffffe87fffffeL & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(530, 531);
						}
						if ((0x8000000080000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 427;
						}
						break;
					case 1:
						if ((0x7fffffe87fffffeL & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddStates(598, 602);
						} else if (curChar == 92) {
							jjCheckNAddStates(603, 606);
						}
						if ((0x20000080200L & l) != 0L) {
							if (kind > 28) {
								kind = 28;
							}
						} else if ((0x8000000080L & l) != 0L) {
							jjAddStates(607, 609);
						} else if ((0x4000000040000L & l) != 0L) {
							jjAddStates(610, 616);
						} else if ((0x400000004L & l) != 0L) {
							jjAddStates(617, 621);
						} else if ((0x800000008000L & l) != 0L) {
							jjAddStates(622, 627);
						} else if ((0x800000008L & l) != 0L) {
							jjAddStates(628, 629);
						} else if ((0x10000000100000L & l) != 0L) {
							jjAddStates(630, 633);
						} else if ((0x400000004000L & l) != 0L) {
							jjAddStates(634, 638);
						} else if ((0x200000002000L & l) != 0L) {
							jjAddStates(639, 642);
						} else if ((0x4000000040L & l) != 0L) {
							jjAddStates(643, 644);
						} else if ((0x200000002L & l) != 0L) {
							jjAddStates(645, 647);
						} else if ((0x100000001000L & l) != 0L) {
							jjAddStates(648, 652);
						} else if ((0x20000000200000L & l) != 0L) {
							jjAddStates(653, 655);
						} else if ((0x100000001000000L & l) != 0L) {
							jjAddStates(656, 659);
						} else if ((0x1000000010L & l) != 0L) {
							jjAddStates(660, 662);
						} else if ((0x10000000100L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 71;
						} else if ((0x200000002000000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 46;
						} else if ((0x80000000800000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 40;
						} else if ((0x1000000010000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 36;
						}
						if ((0x20000000200L & l) != 0L) {
							jjAddStates(663, 665);
						} else if ((0x8000000080000L & l) != 0L) {
							jjAddStates(666, 672);
						}
						break;
					case 273:
						if ((0x7fffffe87fffffeL & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(519, 520);
						}
						if ((0x7fffffe87fffffeL & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(530, 531);
						}
						if ((0x800000008L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 272;
						}
						break;
					case 271:
						if ((0x7fffffe87fffffeL & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(519, 520);
						}
						if ((0x7fffffe87fffffeL & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(530, 531);
						}
						if ((0x1000000010000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 270;
						}
						break;
					case 254:
						if ((0x7fffffe87fffffeL & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(519, 520);
						}
						if ((0x7fffffe87fffffeL & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(530, 531);
						}
						if ((0x200000002L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 276;
						}
						if ((0x200000002L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 259;
						}
						if ((0x200000002L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 253;
						}
						break;
					case 358:
						if ((0x7fffffe87fffffeL & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(519, 520);
						}
						if ((0x7fffffe87fffffeL & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(530, 531);
						}
						if ((0x800000008000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 371;
						} else if ((0x200000002L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 361;
						}
						if ((0x800000008000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 369;
						}
						if ((0x800000008000L & l) != 0L) {
							jjCheckNAdd(357);
						}
						if ((0x800000008000L & l) != 0L) {
							jjCheckNAdd(357);
						}
						break;
					case 255:
						if ((0x7fffffe87fffffeL & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(519, 520);
						}
						if ((0x7fffffe87fffffeL & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(530, 531);
						}
						if ((0x800000008000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 294;
						} else if ((0x800000008L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 291;
						} else if ((0x10000000100000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 286;
						} else if ((0x200000002000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 277;
						} else if ((0x20000000200L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 265;
						}
						if ((0x200000002000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 260;
						}
						if ((0x200000002000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 254;
						}
						break;
					case 369:
						if ((0x7fffffe87fffffeL & l) != 0L) {
							jjCheckNAddStates(0, 2);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(519, 520);
						}
						if ((0x7fffffe87fffffeL & l) != 0L) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						} else if (curChar == 92) {
							jjCheckNAddTwoStates(530, 531);
						}
						if ((0x400000004000L & l) != 0L) {
							jjCheckNAdd(83);
						} else if ((0x10000000100000L & l) != 0L) {
							if (kind > 27) {
								kind = 27;
							}
						}
						if ((0x10000000100000L & l) != 0L) {
							if (kind > 27) {
								kind = 27;
							}
						}
						break;
					case 3:
					case 8:
						if ((0x7fffffffffffffffL & l) != 0L) {
							jjCheckNAddStates(74, 77);
						}
						break;
					case 5:
						if (curChar == 92) {
							jjAddStates(673, 674);
						}
						break;
					case 7:
						if (curChar == 92) {
							jjAddStates(675, 676);
						}
						break;
					case 9:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(78, 83);
						}
						break;
					case 11:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(84, 92);
						}
						break;
					case 12:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(93, 97);
						}
						break;
					case 13:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(98, 103);
						}
						break;
					case 14:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(104, 110);
						}
						break;
					case 15:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(111, 118);
						}
						break;
					case 18:
					case 23:
						if ((0x7fffffffffffffffL & l) != 0L) {
							jjCheckNAddStates(70, 73);
						}
						break;
					case 20:
						if (curChar == 92) {
							jjAddStates(677, 678);
						}
						break;
					case 22:
						if (curChar == 92) {
							jjAddStates(679, 680);
						}
						break;
					case 24:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(119, 124);
						}
						break;
					case 26:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(125, 133);
						}
						break;
					case 27:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(134, 138);
						}
						break;
					case 28:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(139, 144);
						}
						break;
					case 29:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(145, 151);
						}
						break;
					case 30:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(152, 159);
						}
						break;
					case 32:
						if ((0x2000000020L & l) != 0L && kind > 45) {
							kind = 45;
						}
						break;
					case 33:
						if ((0x100000001000L & l) != 0L) {
							jjCheckNAdd(32);
						}
						break;
					case 34:
						if ((0x1000000010000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 33;
						}
						break;
					case 35:
						if ((0x4000000040000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 34;
						}
						break;
					case 36:
						if ((0x20000000200000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 35;
						}
						break;
					case 37:
						if ((0x1000000010000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 36;
						}
						break;
					case 38:
						if ((0x10000000100000L & l) != 0L) {
							jjCheckNAdd(32);
						}
						break;
					case 39:
						if ((0x20000000200L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 38;
						}
						break;
					case 40:
						if ((0x10000000100L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 39;
						}
						break;
					case 41:
						if ((0x80000000800000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 40;
						}
						break;
					case 42:
						if ((0x80000000800000L & l) != 0L && kind > 45) {
							kind = 45;
						}
						break;
					case 43:
						if ((0x800000008000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 42;
						}
						break;
					case 44:
						if ((0x100000001000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 43;
						}
						break;
					case 45:
						if ((0x100000001000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 44;
						}
						break;
					case 46:
						if ((0x2000000020L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 45;
						}
						break;
					case 47:
						if ((0x200000002000000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 46;
						}
						break;
					case 67:
						if ((0x400000004000L & l) != 0L && kind > 55) {
							kind = 55;
						}
						break;
					case 68:
						if ((0x2000000020L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 67;
						}
						break;
					case 69:
						if ((0x1000000010L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 68;
						}
						break;
					case 70:
						if ((0x1000000010L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 69;
						}
						break;
					case 71:
						if ((0x20000000200L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 70;
						}
						break;
					case 72:
						if ((0x10000000100L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 71;
						}
						break;
					case 73:
						if ((0x1000000010L & l) != 0L) {
							jjAddStates(660, 662);
						}
						break;
					case 74:
						if ((0x1000000010L & l) != 0L && kind > 55) {
							kind = 55;
						}
						break;
					case 75:
					case 79:
						if ((0x2000000020L & l) != 0L) {
							jjCheckNAdd(74);
						}
						break;
					case 76:
						if ((0x10000000100000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 75;
						}
						break;
					case 77:
						if ((0x10000000100000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 76;
						}
						break;
					case 78:
						if ((0x800000008000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 77;
						}
						break;
					case 80:
						if ((0x10000000100L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 79;
						}
						break;
					case 81:
						if ((0x8000000080000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 80;
						}
						break;
					case 82:
						if ((0x200000002L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 81;
						}
						break;
					case 83:
						if ((0x2000000020L & l) != 0L && kind > 55) {
							kind = 55;
						}
						break;
					case 84:
						if ((0x100000001000L & l) != 0L) {
							jjCheckNAdd(83);
						}
						break;
					case 85:
						if ((0x400000004L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 84;
						}
						break;
					case 86:
						if ((0x20000000200000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 85;
						}
						break;
					case 87:
						if ((0x800000008000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 86;
						}
						break;
					case 88:
						if ((0x100000001000000L & l) != 0L) {
							jjAddStates(656, 659);
						}
						break;
					case 89:
						if ((0x100000001000L & l) != 0L && kind > 43) {
							kind = 43;
						}
						break;
					case 90:
					case 96:
						if ((0x100000001000L & l) != 0L) {
							jjCheckNAdd(89);
						}
						break;
					case 91:
						if ((0x200000002L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 90;
						}
						break;
					case 92:
						if ((0x200000002000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 91;
						}
						break;
					case 93:
						if ((0x8000000080000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 92;
						}
						break;
					case 95:
						if ((0x100000001000000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 94;
						}
						break;
					case 97:
						if ((0x200000002L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 96;
						}
						break;
					case 98:
						if ((0x200000002000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 97;
						}
						break;
					case 99:
						if ((0x8000000080000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 98;
						}
						break;
					case 101:
						if ((0x2000000020L & l) != 0L && kind > 43) {
							kind = 43;
						}
						break;
					case 102:
					case 107:
					case 297:
						if ((0x8000000080L & l) != 0L) {
							jjCheckNAdd(101);
						}
						break;
					case 103:
						if ((0x4000000040000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 102;
						}
						break;
					case 104:
						if ((0x200000002L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 103;
						}
						break;
					case 105:
						if ((0x100000001000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 104;
						}
						break;
					case 108:
						if ((0x4000000040000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 107;
						}
						break;
					case 109:
						if ((0x200000002L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 108;
						}
						break;
					case 110:
						if ((0x100000001000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 109;
						}
						break;
					case 112:
						if ((0x100000001000000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 111;
						}
						break;
					case 118:
						if ((0x10000000100000L & l) != 0L && kind > 42) {
							kind = 42;
						}
						break;
					case 119:
						if ((0x1000000010000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 118;
						}
						break;
					case 121:
						if ((0x200000002000L & l) != 0L && kind > 42) {
							kind = 42;
						}
						break;
					case 122:
						if ((0x200000002000L & l) != 0L) {
							jjCheckNAdd(121);
						}
						break;
					case 124:
						if ((0x800000008L & l) != 0L) {
							jjCheckNAdd(121);
						}
						break;
					case 126:
						if ((0x800000008L & l) != 0L && kind > 42) {
							kind = 42;
						}
						break;
					case 127:
						if ((0x1000000010000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 126;
						}
						break;
					case 129:
						if ((0x400000004000L & l) != 0L && kind > 42) {
							kind = 42;
						}
						break;
					case 130:
						if ((0x20000000200L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 129;
						}
						break;
					case 132:
						if ((0x1000000010L & l) != 0L && kind > 42) {
							kind = 42;
						}
						break;
					case 133:
						if ((0x8000000080L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 132;
						}
						break;
					case 135:
						if ((0x100000001000000L & l) != 0L && kind > 42) {
							kind = 42;
						}
						break;
					case 136:
						if ((0x1000000010000L & l) != 0L) {
							jjCheckNAdd(135);
						}
						break;
					case 138:
						if ((0x2000000020L & l) != 0L) {
							jjCheckNAdd(121);
						}
						break;
					case 140:
						if ((0x2000000020L & l) != 0L) {
							jjCheckNAdd(135);
						}
						break;
					case 142:
					case 143:
						if ((0x7fffffe87fffffeL & l) == 0L) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddTwoStates(143, 144);
						break;
					case 144:
						if (curChar == 92) {
							jjCheckNAddTwoStates(145, 146);
						}
						break;
					case 145:
						if ((0x7fffffffffffffffL & l) == 0L) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddTwoStates(143, 144);
						break;
					case 146:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddStates(160, 163);
						break;
					case 148:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddStates(164, 170);
						break;
					case 149:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddStates(171, 173);
						break;
					case 150:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddStates(174, 177);
						break;
					case 151:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddStates(178, 182);
						break;
					case 152:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddStates(183, 188);
						break;
					case 153:
						if (curChar == 92) {
							jjCheckNAddTwoStates(145, 154);
						}
						break;
					case 154:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddStates(189, 192);
						break;
					case 155:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddStates(193, 199);
						break;
					case 156:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddStates(200, 202);
						break;
					case 157:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddStates(203, 206);
						break;
					case 158:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddStates(207, 211);
						break;
					case 159:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddStates(212, 217);
						break;
					case 160:
						if ((0x20000000200000L & l) != 0L) {
							jjAddStates(653, 655);
						}
						break;
					case 162:
					case 166:
						if ((0x7fffffffffffffffL & l) != 0L) {
							jjCheckNAddStates(224, 227);
						}
						break;
					case 165:
						if (curChar == 92) {
							jjAddStates(681, 682);
						}
						break;
					case 167:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(228, 232);
						}
						break;
					case 169:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(233, 240);
						}
						break;
					case 170:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(241, 244);
						}
						break;
					case 171:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(245, 249);
						}
						break;
					case 172:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(250, 255);
						}
						break;
					case 173:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(256, 262);
						}
						break;
					case 175:
					case 180:
						if ((0x7fffffffffffffffL & l) != 0L) {
							jjCheckNAddStates(263, 266);
						}
						break;
					case 177:
						if (curChar == 92) {
							jjAddStates(683, 684);
						}
						break;
					case 179:
						if (curChar == 92) {
							jjAddStates(685, 686);
						}
						break;
					case 181:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(267, 272);
						}
						break;
					case 183:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(273, 281);
						}
						break;
					case 184:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(282, 286);
						}
						break;
					case 185:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(287, 292);
						}
						break;
					case 186:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(293, 299);
						}
						break;
					case 187:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(300, 307);
						}
						break;
					case 190:
					case 195:
						if ((0x7fffffffffffffffL & l) != 0L) {
							jjCheckNAddStates(308, 311);
						}
						break;
					case 192:
						if (curChar == 92) {
							jjAddStates(687, 688);
						}
						break;
					case 194:
						if (curChar == 92) {
							jjAddStates(689, 690);
						}
						break;
					case 196:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(312, 317);
						}
						break;
					case 198:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(318, 326);
						}
						break;
					case 199:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(327, 331);
						}
						break;
					case 200:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(332, 337);
						}
						break;
					case 201:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(338, 344);
						}
						break;
					case 202:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(345, 352);
						}
						break;
					case 205:
						if ((0x100000001000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 161;
						}
						break;
					case 206:
						if ((0x4000000040000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 205;
						}
						break;
					case 214:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjAddStates(369, 374);
						break;
					case 215:
						if ((0x7e0000007eL & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 216;
						}
						break;
					case 216:
						if ((0x7e0000007eL & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 217;
						}
						break;
					case 217:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAdd(218);
						}
						break;
					case 218:
						if ((0x7e0000007eL & l) != 0L && kind > 69) {
							kind = 69;
						}
						break;
					case 219:
						if ((0x7e0000007eL & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 220;
						}
						break;
					case 220:
						if ((0x7e0000007eL & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 221;
						}
						break;
					case 221:
						if ((0x7e0000007eL & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 222;
						}
						break;
					case 222:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjstateSet[jjnewStateCnt++] = 210;
						break;
					case 223:
						if ((0x7e0000007eL & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 224;
						}
						break;
					case 224:
						if ((0x7e0000007eL & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 225;
						}
						break;
					case 225:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjstateSet[jjnewStateCnt++] = 226;
						break;
					case 227:
						if ((0x7e0000007eL & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 228;
						}
						break;
					case 228:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjstateSet[jjnewStateCnt++] = 229;
						break;
					case 231:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjstateSet[jjnewStateCnt++] = 232;
						break;
					case 240:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddTwoStates(241, 247);
						}
						break;
					case 242:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjstateSet[jjnewStateCnt++] = 243;
						break;
					case 243:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjCheckNAddStates(385, 388);
						break;
					case 244:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjCheckNAdd(218);
						break;
					case 245:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjCheckNAddTwoStates(218, 244);
						break;
					case 246:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 69) {
							kind = 69;
						}
						jjCheckNAddStates(389, 391);
						break;
					case 247:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(392, 396);
						}
						break;
					case 248:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAdd(241);
						}
						break;
					case 249:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddTwoStates(248, 241);
						}
						break;
					case 250:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(397, 399);
						}
						break;
					case 251:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(400, 403);
						}
						break;
					case 252:
						if ((0x8000000080000L & l) != 0L) {
							jjAddStates(666, 672);
						}
						break;
					case 256:
						if ((0x4000000040000L & l) != 0L && kind > 44) {
							kind = 44;
						}
						break;
					case 259:
						if ((0x100000001000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 258;
						}
						break;
					case 260:
						if ((0x200000002L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 259;
						}
						break;
					case 261:
						if ((0x200000002000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 260;
						}
						break;
					case 262:
						if ((0x4000000040000L & l) != 0L && kind > 45) {
							kind = 45;
						}
						break;
					case 263:
						if ((0x2000000020L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 262;
						}
						break;
					case 264:
						if ((0x40000000400000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 263;
						}
						break;
					case 265:
						if ((0x100000001000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 264;
						}
						break;
					case 266:
						if ((0x20000000200L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 265;
						}
						break;
					case 267:
						if ((0x400000004000L & l) != 0L && kind > 48) {
							kind = 48;
						}
						break;
					case 268:
					case 408:
					case 419:
						if ((0x800000008000L & l) != 0L) {
							jjCheckNAdd(267);
						}
						break;
					case 269:
						if ((0x20000000200L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 268;
						}
						break;
					case 275:
						if ((0x100000001000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 274;
						}
						break;
					case 276:
						if ((0x100000001000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 275;
						}
						break;
					case 277:
						if ((0x200000002L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 276;
						}
						break;
					case 278:
						if ((0x200000002000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 277;
						}
						break;
					case 279:
						if ((0x4000000040000L & l) != 0L && kind > 48) {
							kind = 48;
						}
						break;
					case 280:
						if ((0x200000002L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 279;
						}
						break;
					case 281:
						if ((0x400000004L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 280;
						}
						break;
					case 283:
						if ((0x8000000080000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 282;
						}
						break;
					case 284:
						if ((0x20000000200000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 283;
						}
						break;
					case 285:
						if ((0x10000000100000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 284;
						}
						break;
					case 286:
						if ((0x200000002L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 285;
						}
						break;
					case 287:
						if ((0x10000000100000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 286;
						}
						break;
					case 288:
						if ((0x100000001000L & l) != 0L && kind > 53) {
							kind = 53;
						}
						break;
					case 289:
						if ((0x100000001000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 288;
						}
						break;
					case 290:
						if ((0x800000008000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 289;
						}
						break;
					case 291:
						if ((0x4000000040000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 290;
						}
						break;
					case 292:
						if ((0x800000008L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 291;
						}
						break;
					case 293:
						if ((0x20000000200L & l) != 0L) {
							jjCheckNAdd(74);
						}
						break;
					case 294:
						if ((0x100000001000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 293;
						}
						break;
					case 295:
						if ((0x800000008000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 294;
						}
						break;
					case 296:
						if ((0x100000001000L & l) != 0L) {
							jjAddStates(648, 652);
						}
						break;
					case 298:
						if ((0x4000000040000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 297;
						}
						break;
					case 299:
						if ((0x200000002L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 298;
						}
						break;
					case 300:
						if ((0x2000000020L & l) != 0L) {
							jjCheckNAdd(256);
						}
						break;
					case 301:
						if ((0x8000000080L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 300;
						}
						break;
					case 302:
						if ((0x4000000040000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 301;
						}
						break;
					case 303:
						if ((0x200000002L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 302;
						}
						break;
					case 304:
						if ((0x200000002000L & l) != 0L) {
							jjCheckNAdd(32);
						}
						break;
					case 305:
						if ((0x20000000200L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 304;
						}
						break;
					case 306:
						if ((0x4000000040000L & l) != 0L && kind > 51) {
							kind = 51;
						}
						break;
					case 307:
					case 463:
						if ((0x2000000020L & l) != 0L) {
							jjCheckNAdd(306);
						}
						break;
					case 308:
						if ((0x10000000100000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 307;
						}
						break;
					case 309:
						if ((0x10000000100L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 308;
						}
						break;
					case 310:
						if ((0x8000000080L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 309;
						}
						break;
					case 311:
						if ((0x20000000200L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 310;
						}
						break;
					case 312:
						if ((0x10000000100000L & l) != 0L && kind > 54) {
							kind = 54;
						}
						break;
					case 313:
						if ((0x4000000040L & l) != 0L) {
							jjCheckNAdd(312);
						}
						break;
					case 314:
						if ((0x2000000020L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 313;
						}
						break;
					case 315:
						if ((0x200000002L & l) != 0L) {
							jjAddStates(645, 647);
						}
						break;
					case 316:
						if ((0x1000000010L & l) != 0L && kind > 26) {
							kind = 26;
						}
						break;
					case 318:
						if ((0x400000004000L & l) != 0L) {
							jjCheckNAdd(316);
						}
						break;
					case 319:
						if ((0x200000002L & l) != 0L && kind > 45) {
							kind = 45;
						}
						break;
					case 320:
						if ((0x20000000200000L & l) != 0L) {
							jjCheckNAdd(319);
						}
						break;
					case 321:
						if ((0x2000000020000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 320;
						}
						break;
					case 322:
						if ((0x4000000040L & l) != 0L) {
							jjAddStates(643, 644);
						}
						break;
					case 323:
						if ((0x20000000200L & l) != 0L) {
							jjCheckNAdd(319);
						}
						break;
					case 324:
						if ((0x8000000080000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 323;
						}
						break;
					case 325:
						if ((0x10000000100L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 324;
						}
						break;
					case 326:
						if ((0x800000008L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 325;
						}
						break;
					case 327:
						if ((0x20000000200000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 326;
						}
						break;
					case 328:
						if ((0x1000000010L & l) != 0L && kind > 53) {
							kind = 53;
						}
						break;
					case 329:
						if ((0x2000000020L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 328;
						}
						break;
					case 330:
						if ((0x100000001000000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 329;
						}
						break;
					case 331:
						if ((0x20000000200L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 330;
						}
						break;
					case 332:
						if ((0x200000002000L & l) != 0L) {
							jjAddStates(639, 642);
						}
						break;
					case 333:
						if ((0x400000004000L & l) != 0L && kind > 45) {
							kind = 45;
						}
						break;
					case 334:
						if ((0x800000008000L & l) != 0L) {
							jjCheckNAdd(333);
						}
						break;
					case 335:
						if ((0x800000008000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 334;
						}
						break;
					case 336:
						if ((0x4000000040000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 335;
						}
						break;
					case 337:
						if ((0x200000002L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 336;
						}
						break;
					case 338:
						if ((0x20000000200000L & l) != 0L && kind > 48) {
							kind = 48;
						}
						break;
					case 339:
						if ((0x400000004000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 338;
						}
						break;
					case 340:
						if ((0x2000000020L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 339;
						}
						break;
					case 341:
						if ((0x100000001000000L & l) != 0L && kind > 48) {
							kind = 48;
						}
						break;
					case 342:
						if ((0x800000008000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 341;
						}
						break;
					case 343:
						if ((0x400000004L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 342;
						}
						break;
					case 345:
						if ((0x2000000020L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 344;
						}
						break;
					case 346:
						if ((0x8000000080L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 345;
						}
						break;
					case 347:
						if ((0x200000002L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 346;
						}
						break;
					case 348:
						if ((0x8000000080000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 347;
						}
						break;
					case 349:
						if ((0x8000000080000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 348;
						}
						break;
					case 350:
						if ((0x2000000020L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 349;
						}
						break;
					case 351:
						if ((0x200000002000L & l) != 0L && kind > 56) {
							kind = 56;
						}
						break;
					case 352:
						if ((0x20000000200000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 351;
						}
						break;
					case 353:
						if ((0x20000000200L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 352;
						}
						break;
					case 354:
						if ((0x1000000010L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 353;
						}
						break;
					case 355:
						if ((0x2000000020L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 354;
						}
						break;
					case 356:
						if ((0x400000004000L & l) != 0L) {
							jjAddStates(634, 638);
						}
						break;
					case 357:
						if ((0x10000000100000L & l) != 0L && kind > 27) {
							kind = 27;
						}
						break;
					case 359:
						if ((0x800000008000L & l) != 0L) {
							jjCheckNAdd(357);
						}
						break;
					case 360:
						if ((0x200000002000000L & l) != 0L && kind > 45) {
							kind = 45;
						}
						break;
					case 361:
						if ((0x40000000400000L & l) != 0L) {
							jjCheckNAdd(360);
						}
						break;
					case 362:
						if ((0x200000002L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 361;
						}
						break;
					case 363:
						if ((0x10000000100000L & l) != 0L && kind > 52) {
							kind = 52;
						}
						break;
					case 364:
					case 482:
						if ((0x200000002L & l) != 0L) {
							jjCheckNAdd(363);
						}
						break;
					case 365:
						if ((0x2000000020L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 364;
						}
						break;
					case 366:
						if ((0x1000000010000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 365;
						}
						break;
					case 367:
						if ((0x2000000020L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 366;
						}
						break;
					case 368:
						if ((0x4000000040000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 367;
						}
						break;
					case 370:
						if ((0x800000008000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 369;
						}
						break;
					case 371:
						if ((0x400000004000L & l) != 0L) {
							jjCheckNAdd(83);
						}
						break;
					case 372:
						if ((0x800000008000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 371;
						}
						break;
					case 373:
						if ((0x10000000100000L & l) != 0L) {
							jjAddStates(630, 633);
						}
						break;
					case 374:
						if ((0x100000001000L & l) != 0L && kind > 45) {
							kind = 45;
						}
						break;
					case 375:
						if ((0x200000002L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 374;
						}
						break;
					case 376:
						if ((0x2000000020L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 375;
						}
						break;
					case 377:
						if ((0x1000000010000L & l) != 0L && kind > 54) {
							kind = 54;
						}
						break;
					case 378:
						if ((0x800000008000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 377;
						}
						break;
					case 379:
						if ((0x400000004000L & l) != 0L && kind > 56) {
							kind = 56;
						}
						break;
					case 380:
						if ((0x20000000200L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 379;
						}
						break;
					case 381:
						if ((0x10000000100L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 380;
						}
						break;
					case 382:
						if ((0x80000000800L & l) != 0L && kind > 56) {
							kind = 56;
						}
						break;
					case 383:
						if ((0x800000008L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 382;
						}
						break;
					case 384:
						if ((0x20000000200L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 383;
						}
						break;
					case 385:
						if ((0x10000000100L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 384;
						}
						break;
					case 387:
						if ((0x7fffffe87fffffeL & l) == 0L) {
							break;
						}
						if (kind > 45) {
							kind = 45;
						}
						jjCheckNAddTwoStates(387, 388);
						break;
					case 388:
						if (curChar == 92) {
							jjAddStates(691, 692);
						}
						break;
					case 389:
						if ((0x7fffffffffffffffL & l) == 0L) {
							break;
						}
						if (kind > 45) {
							kind = 45;
						}
						jjCheckNAddTwoStates(387, 388);
						break;
					case 390:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 45) {
							kind = 45;
						}
						jjCheckNAddStates(404, 407);
						break;
					case 392:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 45) {
							kind = 45;
						}
						jjCheckNAddStates(408, 414);
						break;
					case 393:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 45) {
							kind = 45;
						}
						jjCheckNAddStates(415, 417);
						break;
					case 394:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 45) {
							kind = 45;
						}
						jjCheckNAddStates(418, 421);
						break;
					case 395:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 45) {
							kind = 45;
						}
						jjCheckNAddStates(422, 426);
						break;
					case 396:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 45) {
							kind = 45;
						}
						jjCheckNAddStates(427, 432);
						break;
					case 397:
						if ((0x7fffffe87fffffeL & l) == 0L) {
							break;
						}
						if (kind > 59) {
							kind = 59;
						}
						jjCheckNAddTwoStates(397, 398);
						break;
					case 398:
						if (curChar == 92) {
							jjAddStates(693, 694);
						}
						break;
					case 399:
						if ((0x7fffffffffffffffL & l) == 0L) {
							break;
						}
						if (kind > 59) {
							kind = 59;
						}
						jjCheckNAddTwoStates(397, 398);
						break;
					case 400:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 59) {
							kind = 59;
						}
						jjCheckNAddStates(433, 436);
						break;
					case 402:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 59) {
							kind = 59;
						}
						jjCheckNAddStates(437, 443);
						break;
					case 403:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 59) {
							kind = 59;
						}
						jjCheckNAddStates(444, 446);
						break;
					case 404:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 59) {
							kind = 59;
						}
						jjCheckNAddStates(447, 450);
						break;
					case 405:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 59) {
							kind = 59;
						}
						jjCheckNAddStates(451, 455);
						break;
					case 406:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 59) {
							kind = 59;
						}
						jjCheckNAddStates(456, 461);
						break;
					case 407:
						if ((0x800000008L & l) != 0L) {
							jjAddStates(628, 629);
						}
						break;
					case 409:
						if ((0x20000000200L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 408;
						}
						break;
					case 410:
						if ((0x10000000100000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 409;
						}
						break;
					case 411:
						if ((0x1000000010000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 410;
						}
						break;
					case 412:
						if ((0x200000002L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 411;
						}
						break;
					case 413:
						if ((0x4000000040000L & l) != 0L && kind > 54) {
							kind = 54;
						}
						break;
					case 414:
						if ((0x2000000020L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 413;
						}
						break;
					case 415:
						if ((0x10000000100000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 414;
						}
						break;
					case 416:
						if ((0x400000004000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 415;
						}
						break;
					case 417:
						if ((0x2000000020L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 416;
						}
						break;
					case 418:
						if ((0x20000000200L & l) != 0L) {
							jjAddStates(663, 665);
						}
						break;
					case 421:
						if ((0x800000008L & l) != 0L && kind > 49) {
							kind = 49;
						}
						break;
					case 422:
						if ((0x20000000200L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 421;
						}
						break;
					case 423:
						if ((0x100000001000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 422;
						}
						break;
					case 424:
						if ((0x200000002L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 423;
						}
						break;
					case 425:
						if ((0x10000000100000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 424;
						}
						break;
					case 426:
						if ((0x10000000100000L & l) != 0L && kind > 55) {
							kind = 55;
						}
						break;
					case 427:
					case 449:
						if ((0x2000000020L & l) != 0L) {
							jjCheckNAdd(426);
						}
						break;
					case 429:
						if ((0x400000004000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 428;
						}
						break;
					case 430:
						if ((0x800000008000L & l) != 0L) {
							jjAddStates(622, 627);
						}
						break;
					case 431:
						if ((0x200000002000000L & l) != 0L && kind > 27) {
							kind = 27;
						}
						break;
					case 432:
					case 434:
						if ((0x100000001000L & l) != 0L) {
							jjCheckNAdd(431);
						}
						break;
					case 433:
						if ((0x400000004000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 432;
						}
						break;
					case 435:
						if ((0x400000004000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 434;
						}
						break;
					case 436:
						if ((0x40000000400000L & l) != 0L) {
							jjCheckNAdd(32);
						}
						break;
					case 437:
						if ((0x20000000200L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 436;
						}
						break;
					case 438:
						if ((0x100000001000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 437;
						}
						break;
					case 439:
						if ((0x8000000080L & l) != 0L) {
							jjCheckNAdd(32);
						}
						break;
					case 440:
						if ((0x400000004000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 439;
						}
						break;
					case 441:
						if ((0x200000002L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 440;
						}
						break;
					case 442:
						if ((0x4000000040000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 441;
						}
						break;
					case 443:
						if ((0x2000000020L & l) != 0L && kind > 49) {
							kind = 49;
						}
						break;
					case 444:
						if ((0x20000000200000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 443;
						}
						break;
					case 445:
						if ((0x2000000020000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 444;
						}
						break;
					case 446:
						if ((0x20000000200L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 445;
						}
						break;
					case 447:
						if ((0x100000001000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 446;
						}
						break;
					case 448:
						if ((0x400000004L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 447;
						}
						break;
					case 450:
						if ((0x8000000080000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 449;
						}
						break;
					case 451:
						if ((0x10000000100000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 450;
						}
						break;
					case 452:
						if ((0x20000000200000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 451;
						}
						break;
					case 453:
						if ((0x400000004L & l) != 0L) {
							jjAddStates(617, 621);
						}
						break;
					case 454:
						if ((0x80000000800L & l) != 0L && kind > 45) {
							kind = 45;
						}
						break;
					case 455:
						if ((0x800000008L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 454;
						}
						break;
					case 456:
						if ((0x200000002L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 455;
						}
						break;
					case 457:
						if ((0x100000001000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 456;
						}
						break;
					case 458:
						if ((0x20000000200000L & l) != 0L) {
							jjCheckNAdd(32);
						}
						break;
					case 459:
						if ((0x100000001000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 458;
						}
						break;
					case 460:
						if ((0x1000000010L & l) != 0L && kind > 51) {
							kind = 51;
						}
						break;
					case 461:
						if ((0x100000001000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 460;
						}
						break;
					case 462:
						if ((0x800000008000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 461;
						}
						break;
					case 464:
						if ((0x1000000010L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 463;
						}
						break;
					case 465:
						if ((0x100000001000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 464;
						}
						break;
					case 466:
						if ((0x800000008000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 465;
						}
						break;
					case 467:
						if ((0x200000002000L & l) != 0L && kind > 54) {
							kind = 54;
						}
						break;
					case 468:
						if ((0x800000008000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 467;
						}
						break;
					case 469:
						if ((0x10000000100000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 468;
						}
						break;
					case 470:
						if ((0x10000000100000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 469;
						}
						break;
					case 471:
						if ((0x800000008000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 470;
						}
						break;
					case 472:
						if ((0x4000000040000L & l) != 0L) {
							jjAddStates(610, 616);
						}
						break;
					case 473:
						if ((0x1000000010L & l) != 0L && kind > 45) {
							kind = 45;
						}
						break;
					case 474:
						if ((0x2000000020L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 473;
						}
						break;
					case 475:
						if ((0x400000004L & l) != 0L) {
							jjAddStates(462, 463);
						}
						break;
					case 478:
						jjAddStates(464, 466);
						break;
					case 481:
						if ((0x8000000080L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 475;
						}
						break;
					case 483:
						if ((0x2000000020L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 482;
						}
						break;
					case 484:
						if ((0x1000000010000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 483;
						}
						break;
					case 485:
						if ((0x2000000020L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 484;
						}
						break;
					case 486:
						if ((0x100000001000000L & l) != 0L && kind > 52) {
							kind = 52;
						}
						break;
					case 488:
						if ((0x10000000100000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 487;
						}
						break;
					case 489:
						if ((0x200000002L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 488;
						}
						break;
					case 490:
						if ((0x2000000020L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 489;
						}
						break;
					case 491:
						if ((0x1000000010000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 490;
						}
						break;
					case 492:
						if ((0x2000000020L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 491;
						}
						break;
					case 493:
						if ((0x200000002000000L & l) != 0L && kind > 52) {
							kind = 52;
						}
						break;
					case 495:
						if ((0x10000000100000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 494;
						}
						break;
					case 496:
						if ((0x200000002L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 495;
						}
						break;
					case 497:
						if ((0x2000000020L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 496;
						}
						break;
					case 498:
						if ((0x1000000010000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 497;
						}
						break;
					case 499:
						if ((0x2000000020L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 498;
						}
						break;
					case 500:
						if ((0x10000000100L & l) != 0L) {
							jjCheckNAdd(312);
						}
						break;
					case 501:
						if ((0x8000000080L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 500;
						}
						break;
					case 502:
						if ((0x20000000200L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 501;
						}
						break;
					case 503:
						if ((0x8000000080L & l) != 0L) {
							jjCheckNAdd(83);
						}
						break;
					case 504:
						if ((0x1000000010L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 503;
						}
						break;
					case 505:
						if ((0x20000000200L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 504;
						}
						break;
					case 506:
						if ((0x8000000080L & l) != 0L) {
							jjAddStates(607, 609);
						}
						break;
					case 507:
						if ((0x200000002L & l) != 0L) {
							jjCheckNAdd(360);
						}
						break;
					case 508:
						if ((0x4000000040000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 507;
						}
						break;
					case 509:
						if ((0x2000000020L & l) != 0L) {
							jjCheckNAdd(333);
						}
						break;
					case 510:
						if ((0x2000000020L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 509;
						}
						break;
					case 511:
						if ((0x4000000040000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 510;
						}
						break;
					case 512:
						if ((0x40000000400000L & l) != 0L) {
							jjCheckNAdd(83);
						}
						break;
					case 513:
						if ((0x800000008000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 512;
						}
						break;
					case 514:
						if ((0x800000008000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 513;
						}
						break;
					case 515:
						if ((0x4000000040000L & l) != 0L) {
							jjstateSet[jjnewStateCnt++] = 514;
						}
						break;
					case 516:
						if ((0x7fffffe87fffffeL & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddStates(598, 602);
						break;
					case 517:
						if ((0x7fffffe87fffffeL & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddTwoStates(517, 518);
						break;
					case 518:
						if (curChar == 92) {
							jjCheckNAddTwoStates(519, 520);
						}
						break;
					case 519:
						if ((0x7fffffffffffffffL & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddTwoStates(517, 518);
						break;
					case 520:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddStates(467, 470);
						break;
					case 522:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddStates(471, 477);
						break;
					case 523:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddStates(478, 480);
						break;
					case 524:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddStates(481, 484);
						break;
					case 525:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddStates(485, 489);
						break;
					case 526:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddStates(490, 495);
						break;
					case 527:
						if ((0x7fffffe87fffffeL & l) != 0L) {
							jjCheckNAddStates(0, 2);
						}
						break;
					case 529:
						if (curChar == 92) {
							jjCheckNAddTwoStates(530, 531);
						}
						break;
					case 530:
						if ((0x7fffffffffffffffL & l) != 0L) {
							jjCheckNAddStates(0, 2);
						}
						break;
					case 531:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(496, 500);
						}
						break;
					case 533:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(501, 508);
						}
						break;
					case 534:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(509, 512);
						}
						break;
					case 535:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(513, 517);
						}
						break;
					case 536:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(518, 523);
						}
						break;
					case 537:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(524, 530);
						}
						break;
					case 538:
						if (curChar == 92) {
							jjCheckNAddStates(603, 606);
						}
						break;
					case 539:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddStates(531, 534);
						break;
					case 540:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddStates(535, 541);
						break;
					case 541:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddStates(542, 544);
						break;
					case 542:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddStates(545, 548);
						break;
					case 543:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddStates(549, 553);
						break;
					case 544:
						if ((0x7e0000007eL & l) == 0L) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddStates(554, 559);
						break;
					case 545:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(560, 564);
						}
						break;
					case 546:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(565, 572);
						}
						break;
					case 547:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(573, 576);
						}
						break;
					case 548:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(577, 581);
						}
						break;
					case 549:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(582, 587);
						}
						break;
					case 550:
						if ((0x7e0000007eL & l) != 0L) {
							jjCheckNAddStates(588, 594);
						}
						break;
					default:
						break;
					}
				} while (i != startsAt);
			} else {
				int hiByte = (int) (curChar >> 8);
				int i1 = hiByte >> 6;
				long l1 = 1L << (hiByte & 077);
				int i2 = (curChar & 0xff) >> 6;
				long l2 = 1L << (curChar & 077);
				MatchLoop: do {
					switch (jjstateSet[--i]) {
					case 272:
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							jjCheckNAddStates(0, 2);
						}
						break;
					case 258:
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							jjCheckNAddStates(0, 2);
						}
						break;
					case 253:
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							jjCheckNAddStates(0, 2);
						}
						break;
					case 420:
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							jjCheckNAddStates(0, 2);
						}
						break;
					case 270:
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							jjCheckNAddStates(0, 2);
						}
						break;
					case 589:
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							jjCheckNAddStates(0, 2);
						}
						break;
					case 317:
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							jjCheckNAddStates(0, 2);
						}
						break;
					case 257:
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							jjCheckNAddStates(0, 2);
						}
						break;
					case 428:
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							jjCheckNAddStates(0, 2);
						}
						break;
					case 1:
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							if (kind > 28) {
								kind = 28;
							}
						}
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddStates(598, 602);
						}
						break;
					case 273:
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							jjCheckNAddStates(0, 2);
						}
						break;
					case 271:
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							jjCheckNAddStates(0, 2);
						}
						break;
					case 254:
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							jjCheckNAddStates(0, 2);
						}
						break;
					case 358:
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							jjCheckNAddStates(0, 2);
						}
						break;
					case 255:
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							jjCheckNAddStates(0, 2);
						}
						break;
					case 369:
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							if (kind > 57) {
								kind = 57;
							}
							jjCheckNAddTwoStates(517, 518);
						}
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							jjCheckNAddStates(0, 2);
						}
						break;
					case 3:
					case 8:
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							jjCheckNAddStates(74, 77);
						}
						break;
					case 18:
					case 23:
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							jjCheckNAddStates(70, 73);
						}
						break;
					case 142:
					case 143:
					case 145:
						if (!jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							break;
						}
						if (kind > 58) {
							kind = 58;
						}
						jjCheckNAddTwoStates(143, 144);
						break;
					case 162:
					case 166:
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							jjCheckNAddStates(224, 227);
						}
						break;
					case 175:
					case 180:
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							jjCheckNAddStates(263, 266);
						}
						break;
					case 190:
					case 195:
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							jjCheckNAddStates(308, 311);
						}
						break;
					case 387:
					case 389:
						if (!jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							break;
						}
						if (kind > 45) {
							kind = 45;
						}
						jjCheckNAddTwoStates(387, 388);
						break;
					case 397:
					case 399:
						if (!jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							break;
						}
						if (kind > 59) {
							kind = 59;
						}
						jjCheckNAddTwoStates(397, 398);
						break;
					case 478:
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							jjAddStates(464, 466);
						}
						break;
					case 516:
						if (!jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddStates(598, 602);
						break;
					case 517:
					case 519:
						if (!jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							break;
						}
						if (kind > 57) {
							kind = 57;
						}
						jjCheckNAddTwoStates(517, 518);
						break;
					case 527:
					case 530:
						if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
							jjCheckNAddStates(0, 2);
						}
						break;
					default:
						break;
					}
				} while (i != startsAt);
			}
			if (kind != 0x7fffffff) {
				jjmatchedKind = kind;
				jjmatchedPos = curPos;
				kind = 0x7fffffff;
			}
			++curPos;
			i = jjnewStateCnt;
			if (i == (startsAt = 588 - (jjnewStateCnt = startsAt))) {
				return curPos;
			}
			try {
				curChar = input_stream.readChar();
			} catch (java.io.IOException e) {
				return curPos;
			}
		}
	}

	private final int jjMoveStringLiteralDfa0_1() {
		return 1;
	}

	static final int[] jjnextStates = { 527, 528, 529, 141, 142, 153, 552, 553, 554, 555, 556, 557, 116, 558, 559, 560,
			119, 561, 562, 563, 122, 564, 565, 566, 124, 567, 568, 569, 127, 570, 571, 572, 130, 573, 574, 575, 133,
			576, 577, 578, 136, 579, 580, 581, 138, 582, 583, 584, 140, 585, 586, 587, 142, 153, 387, 397, 398, 388,
			114, 115, 117, 120, 123, 125, 128, 131, 134, 137, 139, 141, 18, 19, 20, 22, 3, 4, 5, 7, 3, 10, 4, 5, 7, 11,
			3, 12, 10, 4, 5, 7, 13, 14, 15, 3, 10, 4, 5, 7, 3, 12, 10, 4, 5, 7, 3, 12, 10, 4, 5, 7, 13, 3, 12, 10, 4, 5,
			7, 13, 14, 18, 25, 19, 20, 22, 26, 18, 27, 25, 19, 20, 22, 28, 29, 30, 18, 25, 19, 20, 22, 18, 27, 25, 19,
			20, 22, 18, 27, 25, 19, 20, 22, 28, 18, 27, 25, 19, 20, 22, 28, 29, 143, 147, 144, 148, 143, 149, 147, 144,
			150, 151, 152, 143, 147, 144, 143, 149, 147, 144, 143, 149, 147, 144, 150, 143, 149, 147, 144, 150, 151,
			147, 143, 144, 155, 156, 147, 143, 144, 157, 158, 159, 147, 143, 144, 156, 147, 143, 144, 156, 147, 143,
			144, 157, 156, 147, 143, 144, 157, 158, 162, 174, 189, 164, 165, 204, 162, 163, 164, 165, 162, 164, 165,
			168, 169, 162, 170, 164, 165, 168, 171, 172, 173, 162, 164, 165, 168, 162, 170, 164, 165, 168, 162, 170,
			164, 165, 168, 171, 162, 170, 164, 165, 168, 171, 172, 175, 176, 177, 179, 175, 182, 176, 177, 179, 183,
			175, 184, 182, 176, 177, 179, 185, 186, 187, 175, 182, 176, 177, 179, 175, 184, 182, 176, 177, 179, 175,
			184, 182, 176, 177, 179, 185, 175, 184, 182, 176, 177, 179, 185, 186, 190, 191, 192, 194, 190, 197, 191,
			192, 194, 198, 190, 199, 197, 191, 192, 194, 200, 201, 202, 190, 197, 191, 192, 194, 190, 199, 197, 191,
			192, 194, 190, 199, 197, 191, 192, 194, 200, 190, 199, 197, 191, 192, 194, 200, 201, 162, 174, 189, 163,
			164, 165, 204, 208, 214, 210, 211, 212, 213, 210, 211, 212, 215, 219, 223, 227, 231, 235, 210, 233, 234,
			210, 236, 237, 238, 210, 236, 237, 218, 244, 245, 246, 218, 244, 245, 248, 241, 249, 250, 251, 248, 241,
			249, 248, 241, 249, 250, 387, 391, 388, 392, 387, 393, 391, 388, 394, 395, 396, 387, 391, 388, 387, 393,
			391, 388, 387, 393, 391, 388, 394, 387, 393, 391, 388, 394, 395, 397, 401, 398, 402, 397, 403, 401, 398,
			404, 405, 406, 397, 401, 398, 397, 403, 401, 398, 397, 403, 401, 398, 404, 397, 403, 401, 398, 404, 405,
			476, 477, 478, 479, 480, 517, 521, 518, 522, 517, 523, 521, 518, 524, 525, 526, 517, 521, 518, 517, 523,
			521, 518, 517, 523, 521, 518, 524, 517, 523, 521, 518, 524, 525, 527, 532, 528, 529, 533, 527, 534, 532,
			528, 529, 535, 536, 537, 527, 532, 528, 529, 527, 534, 532, 528, 529, 527, 534, 532, 528, 529, 535, 527,
			534, 532, 528, 529, 535, 536, 521, 517, 518, 540, 541, 521, 517, 518, 542, 543, 544, 521, 517, 518, 541,
			521, 517, 518, 541, 521, 517, 518, 542, 541, 521, 517, 518, 542, 543, 532, 527, 528, 529, 546, 547, 532,
			527, 528, 529, 548, 549, 550, 532, 527, 528, 529, 547, 532, 527, 528, 529, 547, 532, 527, 528, 529, 548,
			547, 532, 527, 528, 529, 548, 549, 585, 142, 153, 517, 527, 528, 529, 518, 519, 539, 530, 545, 508, 511,
			515, 474, 481, 485, 492, 499, 502, 505, 457, 459, 462, 466, 471, 433, 435, 438, 442, 448, 452, 412, 417,
			376, 378, 381, 385, 358, 359, 362, 370, 372, 337, 340, 350, 355, 327, 331, 317, 318, 321, 299, 303, 305,
			311, 314, 206, 207, 239, 95, 100, 106, 112, 78, 82, 87, 420, 425, 429, 255, 261, 266, 278, 287, 292, 295,
			16, 6, 8, 9, 31, 21, 23, 24, 166, 167, 188, 178, 180, 181, 203, 193, 195, 196, 389, 390, 399, 400, };

	private static final boolean jjCanMove_0(int hiByte, int i1, int i2, long l1, long l2) {
		switch (hiByte) {
		case 0:
			return ((jjbitVec2[i2] & l2) != 0L);
		default:
			if ((jjbitVec0[i1] & l1) != 0L) {
				return true;
			}
			return false;
		}
	}

	public static final String[] jjstrLiteralImages = { "", null, null, "\74\41\55\55", "\55\55\76", "\173", "\175",
			"\174\75", "\176\75", "\136\75", "\44\75", "\52\75", "\176", "\75", "\53", "\55", "\54", "\73", "\76",
			"\57", "\133", "\135", "\52", "\56", "\51", "\50", null, null, null, null, null, null, null, null, null,
			null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
			null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
			null, };
	public static final String[] lexStateNames = { "DEFAULT", "IN_COMMENT", };
	public static final int[] jjnewLexState = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
			-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
			-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
			-1, };
	static final long[] jjtoToken = { 0xfffff601ffffff9L, 0xe0L, };
	static final long[] jjtoSkip = { 0x6L, 0x0L, };
	protected SimpleCharStream input_stream;
	private final int[] jjrounds = new int[588];
	private final int[] jjstateSet = new int[1176];
	protected char curChar;

	public PropertyParserTokenManager(SimpleCharStream stream) {
		if (SimpleCharStream.staticFlag) {
			throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
		}
		input_stream = stream;
	}

	public PropertyParserTokenManager(SimpleCharStream stream, int lexState) {
		this(stream);
		SwitchTo(lexState);
	}

	public void ReInit(SimpleCharStream stream) {
		jjmatchedPos = jjnewStateCnt = 0;
		curLexState = defaultLexState;
		input_stream = stream;
		ReInitRounds();
	}

	private final void ReInitRounds() {
		int i;
		jjround = 0x80000001;
		for (i = 588; i-- > 0;) {
			jjrounds[i] = 0x80000000;
		}
	}

	public void ReInit(SimpleCharStream stream, int lexState) {
		ReInit(stream);
		SwitchTo(lexState);
	}

	public void SwitchTo(int lexState) {
		if (lexState >= 2 || lexState < 0) {
			throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.",
					TokenMgrError.INVALID_LEXICAL_STATE);
		} else {
			curLexState = lexState;
		}
	}

	protected Token jjFillToken() {
		Token t = Token.newToken(jjmatchedKind);
		t.kind = jjmatchedKind;
		String im = jjstrLiteralImages[jjmatchedKind];
		t.image = (im == null) ? input_stream.GetImage() : im;
		t.beginLine = input_stream.getBeginLine();
		t.beginColumn = input_stream.getBeginColumn();
		t.endLine = input_stream.getEndLine();
		t.endColumn = input_stream.getEndColumn();
		return t;
	}

	int curLexState = 0;
	int defaultLexState = 0;
	int jjnewStateCnt;
	int jjround;
	int jjmatchedPos;
	int jjmatchedKind;

	public Token getNextToken() {
		int kind;
		Token specialToken = null;
		Token matchedToken;
		int curPos = 0;

		EOFLoop: for (;;) {
			try {
				curChar = input_stream.BeginToken();
			} catch (java.io.IOException e) {
				jjmatchedKind = 0;
				matchedToken = jjFillToken();
				return matchedToken;
			}

			switch (curLexState) {
			case 0:
				jjmatchedKind = 0x7fffffff;
				jjmatchedPos = 0;
				curPos = jjMoveStringLiteralDfa0_0();
				if (jjmatchedPos == 0 && jjmatchedKind > 71) {
					jjmatchedKind = 71;
				}
				break;
			case 1:
				jjmatchedKind = 0x7fffffff;
				jjmatchedPos = 0;
				curPos = jjMoveStringLiteralDfa0_1();
				if (jjmatchedPos == 0 && jjmatchedKind > 71) {
					jjmatchedKind = 71;
				}
				break;
			}
			if (jjmatchedKind != 0x7fffffff) {
				if (jjmatchedPos + 1 < curPos) {
					input_stream.backup(curPos - jjmatchedPos - 1);
				}
				if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L) {
					matchedToken = jjFillToken();
					if (jjnewLexState[jjmatchedKind] != -1) {
						curLexState = jjnewLexState[jjmatchedKind];
					}
					return matchedToken;
				} else {
					if (jjnewLexState[jjmatchedKind] != -1) {
						curLexState = jjnewLexState[jjmatchedKind];
					}
					continue EOFLoop;
				}
			}
			int error_line = input_stream.getEndLine();
			int error_column = input_stream.getEndColumn();
			String error_after = null;
			boolean EOFSeen = false;
			try {
				input_stream.readChar();
				input_stream.backup(1);
			} catch (java.io.IOException e1) {
				EOFSeen = true;
				error_after = curPos <= 1 ? "" : input_stream.GetImage();
				if (curChar == '\n' || curChar == '\r') {
					error_line++;
					error_column = 0;
				} else {
					error_column++;
				}
			}
			if (!EOFSeen) {
				input_stream.backup(1);
				error_after = curPos <= 1 ? "" : input_stream.GetImage();
			}
			throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar,
					TokenMgrError.LEXICAL_ERROR);
		}
	}

}
